home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
HAMRADIO
/
LOGBOOK.ZIP
/
DXCCMB.PRG
< prev
next >
Wrap
Text File
|
1985-10-29
|
3KB
|
115 lines
*MBDXCC AUTOMATICALLY UPDATES DXCC RECORDS FROM LOG DATABASE
* COPYRIGHT JOE KASSER G3ZCZ 1985
STORE 0 TO worked
STORE 0 TO qsled
SELECT PRIMARY
USE &logbook INDEX &logbook
SELECT SECONDARY
USE &dxcc
DO WHILE .NOT. EOF
? px
IF dstate = 'Q'
* ALREADY IN DXCC RECORD, IGNORE REST'
STORE F TO qslflag
STORE qsled + 1 TO qsled
ELSE
STORE 0 TO workedflag
STORE T TO qslflag
* NOT WORKED YET, SO TRY LOG FOR UPDATE'
STORE TRIM(px) TO prefix
SELECT PRIMARY
FIND &prefix
IF # = 0
* NO FIND, TRY ALTERNATE PREFIX
SELECT SECONDARY
IF $(px1,1,1) = ' '
* NO ALTERNATE PREFIX, GO TO NEXT PREFIX'
ELSE
STORE TRIM(px1) TO prefix
SELECT PRIMARY
FIND &prefix
IF # = 0
*NO FIND AGAIN, GO TO NEXT PREFIX '
ELSE
* FOUND SOMETHING FOR PX1 '
DO WHILE call = prefix .AND. qslflag
IF qslrx = 'R' .and. band = thisband
*FOUND A QSL'
STORE F TO qslflag
SELECT SECONDARY
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
STORE qsled + 1 TO qsled
REPLACE dstate WITH 'Q'
SKIP -1
ELSE
IF workedflag = 0
IF band = thisband
STORE # TO workedflag
ENDIF
ENDIF
ENDIF
SKIP
ENDDO
ENDIF
ENDIF
ELSE
*FOUND SOMETHING FOR PX, see IF its qsled'
DO WHILE call = prefix .AND. qslflag
IF qslrx = 'R' .and. band = thisband
STORE F TO qslflag
*FOUND A QSL'
SELECT SECONDARY
REPLACE dstate WITH 'Q'
STORE qsled + 1 TO qsled
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
SKIP -1
ELSE
IF workedflag = 0
IF band = thisband
STORE # TO workedflag
ENDIF
ENDIF
ENDIF
SKIP
ENDDO
ENDIF
ENDIF
SELECT SECONDARY
IF qslflag
IF workedflag = 0
* PREFIX WAS NOT WORKED EITHER
ELSE
SELECT PRIMARY
GOTO workedflag
STORE worked + 1 TO worked
SELECT SECONDARY
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
REPLACE dstate WITH 'W'
ENDIF
ENDIF
?? dcall,dband,dstate,qsled,worked
SKIP
ENDDO
SELECT SECONDARY
USE
SELECT PRIMARY
USE
RELEASE worked,workedflag,qsled,prefix,qslflag
RETURN